package com.huterox.todoscheduler.config;

import com.huterox.todoscheduler.common.ConfigurationParse;
import com.huterox.todoscheduler.common.TaskManager;
import com.huterox.todoscheduler.common.impl.DefaultTaskManager;
import com.huterox.todoscheduler.common.impl.PropertiesConfigurationParse;
import com.huterox.todoscheduler.core.ExecuteManager;
import com.huterox.todoscheduler.core.enumType.ExecuteType;
import com.huterox.todoscheduler.core.scheduler.SchedulerEx;
import com.huterox.todoscheduler.core.scheduler.impl.DefaultSchedulerEx;
import com.huterox.todoscheduler.core.suports.TodoListTemplateContext;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 项目启动配置，也就是项目启动模块
 * 启动的时候，把各个核心模块放在这里面
 * */
public class ConfigEngine implements Serializable {

    public final static Map<Class<?>,Object> corePart = new LinkedHashMap<Class<?>,Object> ();

    /*
     * 启动的时候，只要初始化这个家伙就可以了
     * */

//    static {
//        //这个是我们处理配置的组件,这个是我们默认的
//        corePart.put(ConfigurationParse.class,new PropertiesConfigurationParse());
//        //这个是清单模板组件，这里面包括创建IOC容器，然后扫描创建得到模板
//        corePart.put(TodoListTemplateContext.class,new TodoListTemplateContext());
//
//        /*
//         *   这是一条分水岭，到这里，初始化完成，可以正常执行
//         * */
//
//        //线程池，完成这个任务清单的执行，通过已经得到的模板，执行模板代理对象
//        corePart.put(TaskManager.class,new DefaultTaskManager());
//        //任务提交执行器具，后面启动一个任务清单就用这个，创建模板代理对象，给到TaskManger
//        corePart.put(ExecuteManager.class, new ExecuteManager());
//        //意外的一些补偿，还有失败任务重新执行的定时器,这个的话也是，需要做到这种处理
//        corePart.put(SchedulerEx.class,new DefaultSchedulerEx());
//    }


}
